package POJO;

import com.fasterxml.jackson.annotation.JsonProperty;

import java.io.Serializable;

public class Pm implements Serializable {
    // 参数键（对应"key"字段，如"W"、"H"、"D"）
    @JsonProperty("key")
    private String key;

    // 参数文本描述（对应"text"字段）
    @JsonProperty("text")
    private String text;

    // 参数值（对应"value"字段，类型可能是整数、字符串等，用Object接收）
    @JsonProperty("value")
    private Object value;

    // getter和setter
    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public Pm() {
    }

    public Pm(String key, String text, Object value) {
        this.key = key;
        this.text = text;
        this.value = value;
    }

    @Override
    public String toString() {
        return "Pm{" +
                "key='" + key + '\'' +
                ", text='" + text + '\'' +
                ", value=" + value +
                '}';
    }

    // 元素自身的深拷贝方法
    public Pm deepCopy() {
        return new Pm(this.key,this.text, this.value); // 基本类型直接复制
    }

    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }

    public Object getValue() {
        return value;
    }

    public void setValue(Object value) {
        this.value = value;
    }
}